package com.wk.warehouse.service;

import com.alibaba.fastjson.JSONArray;
import com.wk.warehouse.entity.Auth;
import com.wk.warehouse.entity.User;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;

public interface AuthService {

	/**
	 * 查询所有状态为启用的权限
	 */
	public List<Auth> firstAuthList();

	/**
	 * 通过角色查询角色对应的一级权限
	 */
	public List<Auth> findFirstAuth(int userId);

	/**
	 * 通过父id查询子权限
	 */
	public List<Auth> findChildAuth(HashMap<String, Integer> hashMap);

	/**
	 * 根据父id查询所有子权限
	 */
	public List<Auth> selectAllChild(int parentId);
	/**
	 * 递归查询子权限
	 */
	public JSONArray selectAllAuth(HttpServletRequest request, int parentId, JSONArray jsonArray);
	/**
	 * 检查name是否唯一
	 */
	public int findAuthByName(String authName);

	/**
	 * 检查url是否唯一
	 */
	public int findAuthByUrl(String authUrl);

	/**
	 * 检查code是否唯一
	 */
	public int findAuthByCode(String authCode);

	/**
	 * 添加权限
	 */
	public int insertAuth(Auth auth);

	/**
	 * 修改权限状态
	 */
	public void updateState(int authId, int authState);

	/**
	 * 删除权限
	 */
	public void deleteAuth(int authId);

	/**
	 * 修改权限
	 */
	public int updateAuth(Auth auth);

	/**
	 * 通过权限id查找权限
	 */
	public Auth findAuthById(int authId);
	/**
	 * 通过父Id查找权限
	 */
	public int selectAuthByPId(int parentId);
}
